package cn.breeze.system.mapper;

import cn.breeze.system.domain.Menu;
import cn.breeze.system.domain.Role;
import cn.breeze.basic.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author breeze
 * @since 2022-07-11
 */
public interface RoleMapper extends BaseMapper<Role> {

    // 根据roleId删除Menu信息
    void removeRoleIdMenu(Long id);
    // 根据roleId删除permission信息
    void removeRoleIdPermission(Long id);
    // 保存Menu信息
    void saveRoleMenu(@Param("id") Long id,@Param("ids") List<Long> menus);
    // 保存permission信息
    void saveRolePermission(@Param("id")Long id,@Param("ids") List<Long> permissions);
    // 根据roleId批量删除Menu信息
    void patchRemoveRoleIdMenu(Long[] ids);
    // 根据roleId批量删除permission信息
    void patchRemoveRoleIdPermission(Long[] ids);
    // 根据role主键id获取所有菜单
    List<Menu> ownMenus(Long id);
    // 根据employee获取所有的url权限
    Long[] loaadPermissions(Long id);
    // 根据employee获取所有的role
    List<Long> loadByEmpId(Long id);
}
